Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Oracle Performance Tuning and Optimization
(Publisher: Macmillan Computer Publishing)
Author(s): Edward Whalen
ISBN: 067230886x
Publication Date: 04/01/96

Bookmark It

Search this book:
 
Previous Table of Contents Next


Network Enhancements

If the network is a bottleneck in your system, you can improve performance by adding a faster network interface controller (NIC) or by segmenting the network into pieces and accessing the server through multiple networks.

In recent months, 100 megabit-per-second Ethernet has emerged as the standard for Ethernet networking. If you upgrade existing 10 megabit-per-second Ethernet, your performance improvement can be enormous. Even if you have 100 megabit-per-second Ethernet, you may find it useful to segment the network into several subnets. Both approaches allow more network packets through to the server. If you find that your network is used more than 60 to 70 percent, you should seriously think about upgrading.

Depending on your configuration, you may benefit from the use of Token Ring or fiber-optics networking. Frequently, the network hardware you already have dictates the route you take in terms of new network hardware.

Miscellaneous Enhancements

You may be able to take advantage of other hardware or software enhancements to improve OLTP performance. Some of these performance enhancements are very innovative. The following sections look at a few of these enhancements.

Etherplex from Systek

The Etherplex board from Systek provides hardware login support for UNIX systems. The board includes an Ethernet controller and provides TCP/IP support as well as rlogin and telnet support. The Etherplex board uses a high-speed RISC processor to do its work and provides support for up to 2,048 network connections.

By offloading the terminal and network overhead to the Etherplex board, you can dedicate the system’s CPUs and memory to the application and to Oracle. Because the Etherplex board provides only rlogin and telnet support, it cannot help in a client/server environment, but if your application uses terminal logins, Etherplex can greatly enhance your system.

Transaction Monitors

Transaction Monitors can perform many functions: from multiplexing Oracle connections to providing system fault tolerance. By using a Transaction Monitor (TM), you can offload much of the work performed by Oracle to one or more front-end machines.

Because much of the system memory is used by the server processes, using a TM can reduce the number of server processes on the server by offloading them to the front-end machines. Here’s how TM works.

Transaction Monitors provide a mechanism to use in your application code that allows you to queue requests to an Oracle back-end process. The front-end of the TM takes Oracle requests and places them in a queue. The back-end of the TM takes the requests off the queue and transmits them to Oracle through SQL*Net.

Although there may be hundreds or thousands of front-end processes, you can limit the back-end processes connected to Oracle. Each user process creates a front-end process; the number of back-end processes is determined by the database administrator or applications developer.

By using a TM, you can support hundreds or thousands of users and at the same time limit the number of connections into the database. You can use a TM to save server memory or to reduce contention. By separating the queues into different types of transactions, you can limit certain transactions (thus throttling them).


NOTE:  If you have exceeded the limits of your system and have no other way of reducing the load, taking advantage of a product such as Etherplex or Transaction Monitor may be the solution for you. You sometimes have to be innovative to fulfill your performance goals.

Performance Verification

Once you design and build your system, you must have some way of verifying that you can achieve the required throughput and user load. Verification can be extremely difficult, time consuming, and expensive—especially in a client/server environment. A class of very good load-testing software and hardware is available that can simulate both local and network users, but it is very expensive.

Writing your own code may be the best alternative for load testing. You should consider several things when building load-testing software:

  Simulate many processes. A load test that provides for a heavy load but uses only a few processes does not properly simulate an OLTP load. Some areas of the system may go untested if you do not create many processes.
  Use the network. If your production users will connect through the network, use the network for the load test. Make sure that you use the same network protocol.
  Simulate the transaction. Try to make the test transactions simulate the actual transactions as closely as possible. The closer you get in the simulation, the better the test.
  Put monitoring into the test. By measuring response times, you can get a good idea of how the system will perform under load.

By putting together a good test program, you not only test the system for bugs, you can get a good idea about whether tuning changes are helping or hurting. The following sections look at what you should test in the RDBMS and the operating system.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.